WEB DYNAMIQUE

TP4 Carnet en PHP MYSQL avec Sessions

Partie 1 : utiliser une session

 

Exercice 1 : les pages va et viens 

 

Créer 2 Pages PHP implémentant une session, et affichant un compteur qui s’incrémente à chaque rafraîchissement de la page 1 (page « compteur »).

 

Page 1 (page « compteur ») :

·        Crée la variable $compteur de session si elle existe pas

·        l’incrémente à chaque affichage de la Page 1

·        Crée la variable $compteur_local hors session, et l’incrémente à chaque affichage de la Page 1

·        Propose un bouton vers la page 2 (page « affichage »)

 

Page 2 (page « affichage ») :

·        Se contente d’afficher la variable $compteur de la page 1

·        Propose un bouton vers la page 1 (page « compteur »)

 

Aperçu :

 

  ßà

 

Exercice 2 : sessions associées à un navigateur

 

Vérifier que le compteur est différent si vous lancez plusieurs navigateurs clients.

 

Partie 2 : faire évoluer le carnet d’adresse

 

Exercice 1 : Carnet avec mot de passe commun

Faites évoluer le carnet pour que l’accès en soit protégé par un mot de passe.

 

Ce mot de passe sera à saisir aux premier accès au Carnet. Il sera toujours le même (en dur dans le code !), sans nécessiter de saisir un nom d’utilisateur.

 

Problèmes à résoudre :

1.     comment faire pour forcer la saisie du mot de passe la première fois ? (indication : utiliser la redirection de page)

2.     comment éviter de répéter le même code « d’entrée en session » et de vérification du mot de passe et d’éventuelle redirection vers la page de mot de passe ? (indication : essayer de centraliser les opérations commune dans une page et de l’inclure)

 

 

Exercice 2 : Gestion d’accès avec utilisateurs stockés en base de données

Faites évoluer le carnet pour gérer des droits d’utilisateurs :

 

1.     Créer dans la base MySQL une table utilisateur dans la base de données Mysql, contenant au moins 2 colonnes : un nom utilisateur et un mot de passe

2.     Insérer des valeurs dans cette table grâce à phpmyadmin

3.     Modifier l’accès au carnet d’adresse pour que le contrôle par mot de passe s’appuie sur cette table

 

Exercice 3 : page de logout

Créer une page (ou un lien) de « logout », cad pour fermer la session php et toutes les variables rattachées.

 

Exercice 4 : crypter le mot de passe

Problème à résoudre : comment éviter de stocker dans la base de données le mot de passe en clair ? (indication : utiliser la fonction password() )

 

Partie 3 : Variables de sessions

 

Exercice 1 : compteurs de modifications

Gérer des compteurs de création, modification dans des variables de session. Afficher ces compteurs dans la page de liste uniquement.

 

Exercice 2 : nom de l’utilisateur

Etendre la table de données mysql pour les utilisateurs afin que l’on puisse y saisir le nom complet et le prénom complet de l’utilisateur

 

Lors d’une connexion, récupérer dans des variables de session le nom, le prénom complet de l’utilisateur depuis la base de données, ainsi que l’heure de connexion, et les afficher en haut de chaque page ensuite. 

Partie 4 : pages de gestion des utilisateurs

 

Faire les modifications nécessaires pour qu’un seul utilisateur (un administrateur), ait accès à des pages php spéciales permettant d’ajouter de nouveaux utilisateurs avec leur mot de passe.

 

Permettre également les opérations :

·        De modification d’utilisateur

·        De suppression d’utilisateur